var savedPictureContent = '';
var extendName = '';
var captureObj = null;
var downloadUrl = 'http://www.ggniu.cn/download/CaptureInstall.exe?';

/*
用于初始化牛牛截图控件，此函数需要在页面加载完成后立即调用 
在此函数中，您可以设置相关的截图的UI控制，如，画笔大小、边框颜色等等 【这部分信息在niuniucapture.js中也有默认值，直接修改默认值也可 】
*/
function Init()
{
	if(isMacintosh())
	{
		downloadUrl = 'http://www.ggniu.cn/download/CaptureInstall.dmg?';
	}
    captureObj = new NiuniuCaptureObject();
    captureObj.NiuniuAuthKey = "niuniu";
    //此处可以设置相关参数 
    captureObj.TrackColor = rgb2value(255, 0, 0);
    captureObj.EditBorderColor = rgb2value(0, 0, 255);
    
    //设置工具栏的TOOLTIP  
    //captureObj.ToolTipText = "tipRectangle|tipCircle|tipArrow|tipBrush|tipGlitter|tipMosaic|tipText|tipUndo|tipSave|tipCancel|tipFinish|Finish";
    
    //设置控件加载完成以及截图完成的回调函数
    captureObj.FinishedCallback = OnCaptureFinishedCallback;
    captureObj.PluginLoadedCallback = PluginLoadedCallback;
	captureObj.VersionCallback = VersionCallback;
    
    //初始化控件 
    captureObj.InitNiuniuCapture();
}

//用于返回控件的版本号
function VersionCallback(ver)
{
	//captureObj.Version;
	//可以在此根据最新的版本号与控件返回的版本号对比，决定是否要提示升级  
	//alert(ver);
}
/*
当控件成功加载后回调的的函数，您可以在此控制相应的UI显示  
*/
function PluginLoadedCallback(success)
{
    if(success)
    {
		console.log("控件加载成功")
    }
}

//根据是否是Chrome新版本来控制下载不同的控件安装包
function ShowDownLoad()
{
    var ret = confirm("您需要先下载控件进行安装，点击确定继续!");
    if(ret) {
        window.location.href=downloadUrl;  
    }
}

/*
当提示安装控件后，需要重新加载控件来使用截图；
也有部分是需要刷新浏览器的
*/
function ReloadPlugin() 
{
    captureObj.LoadPlugin();
  
     if(captureObj.pluginValid())
     {
        congsole.log("安装成功")
     }
     else
     {
         var browserInfo = "查看控件是否被浏览器阻止，或通过浏览器设置中的加载项查看NiuniuCapture是否加载并正常运行";       
         confirm(browserInfo);
     }
}

/*
截图入口函数，用于控制UI标签的显示 
*/
function StartCapture()
{
    
   
    var captureRet = Capture();
    //从返回值来解析显示  	
    if(captureRet == emCaptureSuccess){		
        console.log("正在截图中")
    }else if(captureRet == emCaptureUnknown){
        ShowDownLoad();
	}else{
        ShowDownLoad();
    }
}

/*
此函数是根据在测试页面上的不同选项来进行截图，在实际应用中，您只需要根据您实际需要的截图模式，传入相应的参数即可 
*/
function Capture(flag) 
{
	var defaultName = "1.jpg"; //此处为了防止上传的数据过大，建议使用JPG格式 
    // var hideFlag = $("#hideCurrent").attr("checked")=="checked" ? 1 : 0;
    // var autoFlag = $("#captureselectSize").attr("checked")=="checked" ? 1 : 0;
    // var captureRet = true;
    // if(autoFlag == 0)
    // {
        return captureObj.DoCapture("1.jpg", 0, 0, 0, 0, 0, 0,flag);
    // }          
}

/*
此处是截图后的回调函数，用于将截图的详细信息反馈回来，你需要调整此函数，完成图像数据的传输与显示  
*/
function OnCaptureFinishedCallback(type, x, y, width, height, info, content,localpath) 
{
    // alert(localpath)
    if(type < 0)
    {
        //需要重新安装控件
        ShowDownLoad();
        return;
    }
    switch(type)
    {
        case 1:
        {
            //   $('#info').html('截图完成： x:' + x + ',y:' + y + ',widht:' + width + ',height:' + height);
            //   UploadCaptureData(content, localpath);  
            console.log("截图完成")
            // console.log("base64===",'data:image/jpeg;base64,'+content)
            //触发剪贴板事件
            if($('#showPasteImage').hasClass('hide')){
                
                //此时需要显示图片显示层
                $('#mask').removeClass('hide')
                $('#showPasteImage').removeClass('hide')
                setTimeout(function(){
                    var img = new Image();
                    img.src = 'data:image/jpeg;base64,'+content;
                    $('.showContentImg').append( img );
                },200); 
             }
	          break;
        }
        case 2:
        {
            //  $('#info').html('您取消了截图');     
            console.log("取消截图")
             break;        
        }
        case 3:
        {
            //  $('#info').html('您保存了截图到本地： x:' + x + ',y:' + y + ',widht:' + width + ',height:' + height);
            //  UploadCaptureData(content, localpath);
            console.log("截图保存在本地")
	        break;
        }
        case 4:
        {
            if(info =='0')
            {
                // $('#info').html('从剪贴板获取到了截图： ' + localpath);
                // UploadCaptureData(content, localpath);
                console.log("从剪贴板获取到了截图")
            }
            else
            {
                // $('#info').html('从剪贴板获取图片失败。');
                console.log("从剪贴板获取图片失败")
            }            
	        break;
        }
    }                 
}

//控制上传
// function UploadCaptureData(content, localpath)
// {
//     savedPictureContent = content;
    
//     //获取图片的扩展名 
//     var pos = localpath.lastIndexOf('.');
//     extendName = localpath.substr(pos + 1);
    
// 	$('#show').html('截图已经完成，请点击');
// 	$('#show').show();
// 	var autoUpload = $("#autoupload").attr("checked")=="checked" ? 1 : 0;
// 	if(autoUpload)
// 	{
// 		UploadData();
// 	}
// 	else
// 	{
// 		$('#btnUpload').show();
// 	}  
// }


/*
实际上传图像数据的函数，此处主要是将BASE64的图像数据，通过AJAX的方式POST到服务器保存成文件，并且显示在页面上
*/
// function UploadData()
// {
// 	$('#show').html('截图完成，正在上传，请稍后...');
//     $('#btnUpload').hide();
//     //上传的数据除了图片外，还可以包含自己需要传递的参数 
//     var data = "userid=test111&extendname=" + extendName + "&picdata=" + encodeURIComponent(savedPictureContent);	
             
//     $.ajax({
//             type: "POST",
//             url: "./upload.ashx",
//             dataType: "json",
//             data: data, 
//             success: function (obj) {
//                 if(obj.code==0)
// 		        {
// 			        $('#show').html('上传成功，图片地址：' + obj.info);
// 			        $('#imgshow').show();
// 			        $('#imgshow').attr('src', obj.info);
// 		        }
// 		        else
// 		        {
// 			        $('#show').html('上传失败 :' + obj.info);
// 		        }					
//             },
// 			error : function(){$('#show').html('由于网络原因，上传失败。'); }
//         });  
// }  

